package interfaces.spawnMenu;

import logic.common.game.Game;
import logic.common.team.Team;
import logic.ships.hunter.Hunter;
import map.spawnStation.SpawnPosition;
import interfaces.AbsInterfaceElement;
import interfaces.spawnMenu.costumize.CustomizeWindow;
import interfaces.spawnMenu.spawnMap.SpawnMap;
import interfaces.spawnMenu.squads.SquadsWindow;

public interface AbsSpawnMenu extends AbsInterfaceElement {
	
	public Game getGame();
	
	public boolean canSwitchTeam();
	
	public void changeSelectedTeam(Team newTeam);
	
	public SquadsWindow getTacticWindow();
	
	public void setCurrentWindow(SpawnMenuWindow tacticWindow);
	
	public CustomizeWindow getCustomWindow();
	
	public SpawnMap getSpawnMap();
	
	public Hunter getSelectedHunter();
	
	public SpawnPosition getSelectedSpawnLocation();
	
	public void setReady(boolean ready);
	
	public SelectWindow getSelectWindow();
	
	public void changeSelectedHunter(Hunter hunter);
	
	public boolean isReady();
	
	public void enableCustomizeWindow(boolean b);
	
	public SpawnMenuWindow getCurrentWindow();
	
	public void restore();
}